package com.quanyan.place.task.tracker;

import com.github.ltsopensource.core.domain.Action;
import com.github.ltsopensource.tasktracker.Result;
import com.github.ltsopensource.tasktracker.logger.BizLogger;
import com.github.ltsopensource.tasktracker.runner.JobContext;
import com.github.ltsopensource.tasktracker.runner.JobRunner;
import com.github.ltsopensource.tasktracker.runner.LtsLoggerFactory;
import com.quanyan.place.biz.ISearchService;
import com.quanyan.place.cache.PlaceRedisTemplate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * Created by Kingson.chan on 2016/9/6 0006.
 */
@Component("updatePlaceIndex")
public class UpdatePlaceIndex implements JobRunner {
    private static final Logger LOGGER = LoggerFactory.getLogger(UpdatePlaceIndex.class);
    @Autowired
    private ISearchService searchService;
    @Override
    public Result run(JobContext jobContext) throws Throwable {

        try {
            if(searchService.updatePlaceIndex()){
//                this.searchService.delIndexBefore14Day();
                LOGGER.info("更新场馆索引任务执行完成");
            }else {
                return new Result(Action.EXECUTE_LATER, "UpdatePlaceIndex--更新场馆索引任务执行失败。");
            }
            // 会发送到 LTS (JobTracker上)
            BizLogger bizLogger = LtsLoggerFactory.getBizLogger();
            bizLogger.info("更新场馆索引任务执行成功。");
        } catch (Exception e) {
            LOGGER.info("Run job failed!", e);
            return new Result(Action.EXECUTE_LATER, "UpdatePlaceIndex--更新场馆索引任务执行失败，"+e.getMessage());
        }
        return new Result(Action.EXECUTE_SUCCESS, "更新场馆索引任务执行成功。");
    }
}
